@@ -264,4 +264,32 @@ def maintenance_tracking_info_callback(request): |
||
| 264 | 264 |
maintenance_id = request.GET.get('maintenance_id', '')
|
| 265 | 265 |
type_ = request.GET.get('type', 'tracking') # tracking / back_tracking
|
| 266 | 266 |
|
| 267 |
+ param = request.POST.get('param', '')
|
|
| 268 |
+ |
|
| 269 |
+ if not param: |
|
| 270 |
+ return response() |
|
| 271 |
+ |
|
| 272 |
+ try: |
|
| 273 |
+ callback_json = json.loads(param[0]) |
|
| 274 |
+ except Exception: |
|
| 275 |
+ return response() |
|
| 276 |
+ |
|
| 277 |
+ tracking_info = callback_json.get('lastResult', {})
|
|
| 278 |
+ |
|
| 279 |
+ if not tracking_info: |
|
| 280 |
+ return response() |
|
| 281 |
+ |
|
| 282 |
+ try: |
|
| 283 |
+ maintenance = MaintenaceInfo.objects.get(id=maintenance_id, status=True) |
|
| 284 |
+ except MaintenaceInfo.DoesNotExist: |
|
| 285 |
+ return response(MaintenanceStatusCode.MAINTENACE_NOT_FOUND) |
|
| 286 |
+ |
|
| 287 |
+ if type_ == 'tracking': |
|
| 288 |
+ maintenance.tracking_info = tracking_info |
|
| 289 |
+ maintenance.tracking_signed = is_tracking_signed(tracking_info) |
|
| 290 |
+ else: |
|
| 291 |
+ maintenance.back_tracking_info = tracking_info |
|
| 292 |
+ maintenance.back_tracking_signed = is_tracking_signed(tracking_info) |
|
| 293 |
+ maintenance.save() |
|
| 294 |
+ |
|
| 267 | 295 |
return response() |